home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SunSoft Catalyst CDWARE 1996 May to August
/
Catalyst CDWARE 1996 May to August.iso
/
.products
/
Apogee
/
_text
/
kapinfo.txt
< prev
next >
Wrap
Text File
|
1996-02-16
|
6KB
|
161 lines
***** KAP PREPROCESSORS FOR APOGEE SPARC COMPILERS *****
***** PRODUCT INFORMATION *****
APOGEE PRODUCTS
Apogee currently sells highly optimizing Apogee-C and Apogee-FORTRAN
compilers as well as the KAP-C and KAP-FORTRAN preprocessors from Kuck &
Associates. The KAP preprocessors are available in single processor and
auto-parallelizing (MP) versions. Together, the Apogee Compilers and KAP
preprocessors yield maximum performance from your code.
KAP preprocessors are software tools that make C and FORTRAN programs run
faster. The KAP products are integrated with the Apogee-C and Apogee-FORTRAN
compilers, and their optimizations are tuned to complement those performed by
the compilers. They are supplied with the compilers as separately priced
options.
SUPERIOR OPTIMIZATIONS
The KAP preprocessors use advanced, proven techniques that take full advantage
of SPARC microprocessors and chache subsystems. KAP achieves performance by
using memory management optimizations that reduce traffic between main memory
and cache, and between the cache and the processor. KAP's strong loop oriented
optimizations, such as loop unrolling, loop interchanging and strip mining,
maximize use of the SPARC processor's features.
POWERFUL TOOL
KAP automatically restructures code to speed up programs. For additional
performance, users can tune programs using KAP's large set of command-line
options, directives and assertions. KAP provides users with a special listing
file that identifies where code can be modified to achieve even greater speed.
MULTIPROCESSOR PARALLELISM
Under Solaris 2, the KAP MP products automatically transform serial code into
parallel code to make programs run faster. KAP detects inherent parallelism
in a program and determines if the program will benefit from parallelization on
the target SPARC system. If so, KAP automatically translates appropriate
constructs into subroutines that use a parallel support library that utilizes
Solaris 2 threads to invoke parallel execution. The user is also able to
explicitly direct KAP to parallelize code segments through the use of Parallel
Computing Forum (PCF) directives. These techniques are effective at improving
execution times on multiprocessor systems.
PROGRAMS WHICH BENEFIT FROM KAP
On single and multiprocessor workstations, KAP's optimizations are most likely
to improve performance of C and FORTRAN programs that:
use significant computation time
have loop nests that use many local arrays
use a data set whose total size is larger than the cache of the
machine. Programs where the portion of each array used is larger than
the cache will especially benefit.
have significant data reuse within a loop nest. For example, KAP
speeds up matrix multiplication significantly because it has
2-dimensional data used inside a 3-dimensional loop nest.
have large loop iterations
are inherently parallel
have minimal data communication between iterations.
HOW KAP WORKS
KAP is a source-to-source preprocessor. The KAP scanner recognizes C or
FORTRAN source code, including ANSI C and K&R C. KAP's optimizer then
analyzes the code and automatically performs optimizations for good code
generation. The restructured source code is then ready for compilation by the
Apogee compiler.
OPTIMIZATIONS
The KAP optimizer provides automatic performance improvements for C and FORTRAN
programs on both single and multiprocessor computers. Results from industry-
standard benchmark suites show the power of KAP's optimizations. More
importantly, KAP is designed to improve performance across a broad range of
real world application programs. The performance improvement users can expect
from KAP depends on the type of work being done in a particular program, the
level of optimization that already exists in the program and the style in which
the program is written.
GLOBAL SCALAR OPTIMIZATION
* Lifetime analysis
* Dead code elimination
* Unreachable code elimination
* Forward/backward substitution
* Induction variable recognition
* User temporary recognition
* Constant expression evaluation
* Arithmetic expression simplification
* Common sub-expression elimination
* IF loop to DO loop translation
* IF loop to WHILE loop translation
* WHILE to FOR loop translation
* Loop invariant IF floating
* IFs transformed to intrinsic calls
* Removal of zero trip enforcing IFs
* Floating invariant code from loops
* Code scheduling
* Increased register reuse
* I/O strength reduction
ADVANCED MEMORY MANAGEMENT
* Increased cache line utilization
* Reduced intra-cache interference
* Reduce inter-cache interference
* Increased operand locality
COMPREHENSIVE INTERPROCEDURAL ANALYSIS
* Inline expansion of routines
* Inlining of routines from libraries
* Automatic or manual inlining control
* Call site optimization without inlining
STRONG LOOP ORIENTED TRANSFORMATION
* Uses control/dependence graphs
* Language independent
* Optimizes array and record references
* Pointer disambiguation
* Extensive reduction recognition
* Controlled change in round-off error
* Loop distribution
* Loop fusion
* Loop peeling
* Loop unrolling
* Loop rerolling
* Strip mining
* Loop interchange
* Scalar expansion
* Array expansion
* Straightening linearized subscripts
* Statement reordering
EXTENSIVE AUTOMATIC PARALLELIZATION
* Classification of scalars and array objects as shared, private, by
value, last value, or reduction
* Increased granularity
* Reduced fork/join frequency
* Reduced synchronization frequency
* Workload-based parallelization
FOR MORE INFORMATION, CONTACT APOGEE SOFTWARE, INC. AT:
*******************************************************************************
Apogee Software, Inc. Tel. (800) 854-6705 US only
1901 S. Bascom Ave., Suite 325 (408) 369-9001
Campbell, CA 95008-2207 Fax. (408) 369-9018
USA Email. info@apogee.com
*******************************************************************************